package com.car.service.vo;

import com.car.service.entity.ChatSession;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.Date;

/**
 * 聊天会话视图对象
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class ChatSessionVO {
    
    /**
     * 会话ID
     */
    private String id;
    
    /**
     * 用户ID
     */
    private Long userId;
    
    /**
     * 用户名称
     */
    private String userName;
    
    /**
     * 用户头像
     */
    private String userAvatar;
    
    /**
     * 客服ID
     */
    private Long serviceId;
    
    /**
     * 客服名称
     */
    private String serviceName;
    
    /**
     * 客服头像
     */
    private String serviceAvatar;
    
    /**
     * 会话状态（0：关闭，1：进行中）
     */
    private Integer status;
    
    /**
     * 最后一条消息
     */
    private String lastMessage;
    
    /**
     * 未读消息数
     */
    private Integer unreadCount;
    
    /**
     * 创建时间
     */
    private Date createTime;
    
    /**
     * 更新时间
     */
    private Date updateTime;
    
    /**
     * 从实体转换为VO
     */
    public static ChatSessionVO fromEntity(ChatSession entity) {
        if (entity == null) {
            return null;
        }
        
        return ChatSessionVO.builder()
                .id(entity.getId())
                .userId(entity.getUserId())
                .serviceId(entity.getServiceId())
                .status(entity.getStatus())
                .lastMessage(entity.getLastMessage())
                .unreadCount(entity.getUnreadCount())
                .createTime(entity.getCreateTime())
                .updateTime(entity.getUpdateTime())
                .build();
    }
} 